Suitable Renting Places for Foreign-Born STEM Workers

Zhining Sun
UEP239 Geospatial Programing Final Project

Background

STEM workers usually refer to workers in the field of natural science, math, engineering and technology. Currently, in the United States, STEM workers takes account of 6.2% of total US employment. This number is expected to increase due to the important role played by STEM workers in growing the economy and staying globally competitive. Among STEM workers, proportion of foreign-born workers keeps rising too. Comparing with native-born workers, foreign-borns workers are likely to have relatively less information but higher demand on renting. Their needs should be paid attention. This project is designed to answer the research question: what is suitable areas for foreign-born STEM workers? The tool used by this project is suitability analysis.

Work Dictionary

ZCTAs Extractions

To start with the analyis, we will extract all ZCTAs that are within the study area. We will extract boundaries, clip outline with ZCTA and then do the extraction as suggested in the Pizza.

Identify Indiactors

After we have extracted ZCTAs in the study area, next step is to identify indicators. As far as I am conerned, for foreign-born STEM workers, they tend to have relatively higher salary. Comparing with other non-STEM immigrants, they have relatively higher salary and tend to be more care about the infrastructures/accessibility and environment within their neighborhoods. Hence, I pick landcover, hospitals, tree canopy, schools, MBTA_nodes and libraries as initial four indicators.

For each indicator, I will do the summary, visualization and reclassification such as calculating the value by zipcode, mapping the location, creating a choropleth map, ranking the area based on values.

1. Landcover

I will start my analysis by landcover data to identify potential livable areas. Landcover is raster data.

2. Tree Canopy

I will start working on tree canopy as my second indicator which is an important component for the environment. Tree canopy is also raster data.

3. Hospitals

After looking at two environment indicators, I will start looking at indicators that are related to infrastructures.

To start with, I will look at hospitals.

Since count only shows results for zipcodes who have at least one hispotal, the joined dataset above does not include zipcodes areas that don't have hospitals. Hence I will do a spatial join to include all ZCTAs within the Boston region. For those zipcodes without hospital, the count will be shown as NaN.

Next we will work on ZCTA ranking!

There are 136 zipcodes which don't have hospitals within the zipcode area.

I will rasterize these hospitals and calculate distance.

It is reasonable since we are having points.

Since it is epsg 6491, the unit is meter. Note that 1609 meters is about 1 mile.

4. School

It is clear that we can observe bad data here. We will do a spatial join instead.

01880 is the highest ZCTA ranking

There are 27 ZCTA that don't have schools.

I will calculate the distance to schools

5. MBTA

There is no zipcode here. We are not able to join with ZCTA and do a ZCTA ranking. We will go ahead to map the points and change it to raster.

6. Library

I will calculate distance to libraries

Calculate weighted suitable raster

After finish reclassifying all the indicators, I will calculate the weighted suitable raster.I will start my suitability analysis here.

We can observe difference between weighted suitability and unweighted suitability.

Mask the Risk Rasters

stats = pd.DataFrame(zonal_stats(zcta_boston, suitability_map, affine=landcover_transform, stats=['mean', 'count'], nodata = np.NaN))

Since the index mismatch between the two, missing values of mean value happen. I have to reorder the index.

No missing values!

Interactive Map

Next I will do an interactive map to better show the suitability map